Corporations have rapidly expanded businesses due to explosively increased data and various environments and platforms. As a new business environment has come, more efficient and flexible data service, information processing, and data management function are required. In accordance with such a change, a database for solving the problems of high performance, high availability, and expandability which become a basis for incorporating businesses is continuously studied.
In a database management system (DBMS), data may be stored in a data storage. In a relational database management system (RDBMS), the data storage may be referred to as a table. The table includes one or more rows and each of the one or more rows includes one or more columns.
When the database includes a large quantity of data, it may take a relatively long time to perform a query for retrieving data in which a user may be interested. When it takes a long time for the database to respond the query, it may adversely affect the performance of the database.
In this circumstance, it is desirable to restrict direct access of a column or a table which is frequently accessed by a large number of users. The problem may be solved by indirectly accessing the column or the table through a “view”, rather than by directly accessing the column or the table. The “view” may refer to a virtual or logical table which is induced from one or more master tables, has a shape like the master table, but is not physically present. That is, when the view is executed, a result set of a defined query is generated in a memory and when a session ends, the result set disappears.
A materialized view may refer to a table which physically stores a result of a view query. The materialized view may bring the result from a table in which the query result is directly stored without separately performing the query in order to improve an execution speed of the query. That is, in the materialized view, since the result set of the query is stored in a table of a table space, data may be easily consistently updated at a low cost. Further, the materialized view may be used to cache a complex query or copy a specific table to another database.
When data of the master table which is referred by the materialized view is changed, in order to maintain consistency of the query result value, the changed data of the master table needs to be reflected to the materialized view (that is, a materialized view table or a container table).
Therefore, various studies on synchronization (that is, refresh) of the materialized view are continuously performed.